package cn.tedu.collection;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;

/*本类用于测试set存放自定义引用类型对象的去重问题*/
public class TestSet2 {
    public static void main(String[] args) {
        //1,创建Set集合对象
        Set<Student> set = new HashSet();
        //2,创建Student类的对象
        Student s1 = new Student("张三", 3);
        Student s2 = new Student("李四", 4);
        Student s3 = new Student("王五", 5);
        Student s4 = new Student("王五", 5);
        //3,将创建好的学生对象存入set集合
        set.add(s1);
        set.add(s2);
        set.add(s3);
        set.add(s4);
        /*如果set集合中存放的是我们自定义的类型
        * 那么需要给自定义类中添加重写的equals和hashCode(),才会实现去重的效果
        * 不然,set集合会认为s3与s4的地址值不同,是两个不同的对象,不会去重*/
        System.out.println(set);
        //需求:定义小狗类Dog,将小狗类的对象存入set集合
        //实现以类型 属性 属性值去重的效果
    }
}
